In a typical communication network, a source and destination are separated by a plurality of intermediary devices, such as routers, bridges, gateways, firewalls and switches. Network routing involves, among other things, selecting a route (often the most optimal route according to some metric, such as latency etc.) from the source to the destination through the intermediary devices. Before routes can be selected, the intermediary devices need to be configured. In some cases, configuring the intermediary devices involves specifying the directly connected neighbor devices of each intermediary device, specifying the group membership of an intermediary device (e.g., membership in an Autonomous System, peer group, confederation, etc.), specifying whether routing tables should be forwarded to other devices (e.g., route reflectors).
Routing protocols have been developed to facilitate the configuration of the intermediary devices. Example routing protocols include the Routing Information Protocol (RIP), the Enhanced Interior Gateway Routing Protocol (EIGRP), the Open Shortest Path First (OSPF) protocol, Intermediate System to Intermediate System (IS-IS) protocol and the Border Gateway Protocol (BGP). While routing protocols facilitate the configuration of intermediary devices, in most cases, such configuration is not automatic, and requires a significant amount of a network operator's attention. In fact, Cisco Systems™ of San Jose, Calif. has developed the Networking Academy Program to train individuals to properly configure routing protocols such as RIP, EIGRP, OSPF, IS-IS and BGP. Highly trained network operators are necessary, as configuration errors can lead to network system failure and consequently a loss of productivity at an enterprise.
One approach to address routing configuration errors, specifically cabling errors, has been to verify the cabling dynamically at link-up. The prescribed topology of the network specified in a graph description language such as DOT is compared with the actual topology of the network, determined via a discovery protocol such as the link layer discovery protocol (LLDP). Differences between the prescribed topology and the actual topology may include missing cabling in the actual topology (e.g., in the event that cable is damaged or misconnected), or may include an extra cable in the actual topology (e.g., in the event that cable is misconnected). Any differences may be logged for analysis by a network operator. While verifying the cabling dynamically at link-up helps address cabling errors, other types of routing configuration errors remain.